Career 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A 
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard 
All Tour M15 Sofia Wimbledon - London M25 Idanha-a-Nova Sofia Open - Sofia M15 Hua Hin M25 Brisbane M25 Mumbai Nonthaburi 2 Challenger Pune Challenger Bengaluru Challenger New Delhi Challenger Santa Cruz de la Sierra Challenger M25 New Delhi Sao Leopoldo Challenger Porto Alegre Challenger Braunschweig Challenger M15 Tianjin M25 Tianjin Jinan Challenger M25 Castelo Branco M25 Brazzaville M25 Brazzaville M25 Porto Shanghai Challenger Guangzhou Challenger M25 Hong Kong M25 Sapporo Nonthaburi 4 Challenger Manzanillo Challenger Italy F3 Russia F3 Nigeria F3 Nigeria F4 Russia F2 Ukraine F3 Austria F4 Austria F5 Austria F6 Russia F3 Russia F5 Russia F6 Ivory Coast F1 Ivory Coast F2 Russia F1 Russia F2 Russia F3 Bosnia & Herzegovina F2 Kazakhstan F1 Kazakhstan F2 France F6 France F7 Italy F6 Spain F7 Spain F24 Spain F28 Portugal F5 Portugal F1 Portugal F2 Portugal F3 Portugal F4 Spain F7 Spain F8 Spain F9 Spain F10 Spain F12 Spain F13 Spain F14 Spain F11 Spain F15 Spain F16 Spain F17 Spain F18 Spain F19 Belgium F8 Austria F7 Austria F8 Austria F9 Austria F10 France F16 France F17 Spain F33 Spain F34 Spain F36 Portugal F1 Portugal F2 Spain F3 Spain F4 Spain F5 Croatia F4 Croatia F5 Croatia F6 Croatia F7 Italy F10 Italy F11 Italy F12 Italy F13 Italy F14 Slovenia F1 Slovenia F3 Hungary F3 Austria F1 Austria F3 Austria F4 Austria F5 Slovakia F3 Austria F6 Austria F7 Austria F8 Italy F30 Italy F31 Italy F32 Italy F33 Italy F34 Italy F35 Spain F1 Spain F2 Spain F3 Spain F4 Spain F5 Portugal F2 Portugal F3 Spain F6 Spain F7 Spain F8 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Slovenia F2 Slovenia F3 Austria F1 Austria F2 Austria F3 Austria F4 Germany F8 Belgium F8 Belgium F9 Belgium F10 Netherlands F5 Belgium F13 Belgium F14 France F19 France F20 France F22 Germany F17 Germany F18 Dominican Republic F1 Dominican Republic F2 Dominican Republic F3 France F1 Spain F1 Spain F2 Spain F3 Spain F4 Spain F5 Spain F6 Italy F2 France F7 Italy F4 Belgium F7 France F9 Portugal F5 Spain F35 Italy F14 Italy F18 Austria F1 Austria F2 Austria F3 Austria F4 Slovakia F2 Austria F5 Switzerland F3 Switzerland F4 Switzerland F5 Spain F29 Spain F30 Portugal F11 Portugal F12 Spain F33 Tunisia F29 Tunisia F30 Tunisia F31 Tunisia F32 Tunisia F33 Tunisia F35 Tunisia F36 Tunisia F1 (Hammamet) Tunisia F2 (Hammamet) Tunisia F3 (Hammamet) Tunisia F4 (Hammamet) Tunisia F5 (Hammamet) Portugal F1 (Vale Do Lobo) Tunisia F9 (Hammamet) Tunisia F10 (Hammamet) Tunisia F11 (Hammamet) Austria F9 Tunisia F12 (Hammamet) Portugal F5 (Quinta Da Marinha) Portugal F6 (Porto) Tunisia F16 (Hammamet) Tunisia F18 (Hammamet) Tunisia F19 (Hammamet) Romania F2 (Bacau) Tunisia F21 (Hammamet) Tunisia F22 (Hammamet) Hungary F5 (Budapest) Netherlands F2 (Breda) Italy F25 (Cornaiano) Tunisia F37 (Hammamet) Tunisia F38 (Hammamet) Tunisia F39 (Hammamet) Hong Kong F4 (Hong Kong) Hong Kong F5 (Hong Kong) Slovenia F2 France F21 Qatar F4 (Doha) Qatar F5 (Doha) Qatar F6 (Doha) M25 Tay Ninh Austria F2 M15 Hong Kong M15 Cancun M25 Prague M25 Jablonec Nad Nisou M15 Punta Cana M25 Vale do Lobo M25 Idanha-a-Nova M25 Agadir M25 Sintra M25 Sunderland M25 Glasgow M15 Monastir M25 Santa Margherita di Pula M25 Santa Margherita di Pula M25 Jakarta M25 Santa Margherita di Pula M25 Nottingham M25 Prague M25 Rome M25 Cordoba M25 Risskov/Aarhus M25 Dallas M25 Champaign Croatia F3 M25 Santa Margherita di Pula M15 Stellenbosch M15 Wroclaw Italy F13 Netherlands F6 M15 Alaminos-Larnaca M25 Idanha-a-Nova Milan Challenger Furth Challenger Astana Challenger Prague Challenger Tunisia F6 (Hammamet) IPP Open - Helsinki Geneva Challenger - Geneva President's Cup - Astana IPP Open - Helsinki Korat Challenger Zagreb Challenger Karlsruhe Challenger Saransk Challenger Geneva Challenger Como Challenger Ljubljana Challenger Helsinki Challenger Khanty-Mansiysk Challenger Fergana Challenger Orbetello Challenger Saransk Challenger Kitzbuhel Challenger Seville Challenger Kazan Challenger Casablanca Challenger Monza Challenger Ostrava Challenger Kosice Challenger Marburg Challenger Oberstaufen Challenger Seville Challenger Geneva Challenger Heilbronn Challenger Kazan Challenger Quimper Challenger Rabat Challenger Rome Challenger Nottingham-2 Challenger Braunschweig Challenger Penza Challenger Astana Challenger Pozoblanco Challenger Segovia Challenger St. Remy Challenger Mons Challenger Portoroz Challenger Vancouver Challenger Petange Challenger Geneva Challenger New Delhi Challenger Aptos Challenger Eckental Challenger M25 Setubal Mestre Challenger Moscow Challenger Fergana Challenger Marburg Challenger M25 Sintra Astana Challenger Agri Challenger Tashkent Challenger Pune Challenger Ortisei Challenger Canberra Challenger Wroclaw Challenger Raanana Challenger St. Brieuc Challenger Turin Challenger Mestre Challenger Vicenza Challenger Perugia Challenger Milan Challenger Bastad Challenger Recanati Challenger M15 Monastir Bucaramanga Challenger Karshi Challenger Braunschweig Challenger M25 Vila Real de Santo Antonio M25 Vila Real de Santo Antonio Pune Challenger Ortisei Challenger M25 Faro Brescia Challenger Zhuhai Challenger Shenzhen Challenger Prostejov Challenger Lisbon Challenger Binghamton Challenger M25 Loule Braunschweig Challenger Astana Challenger Poznan Challenger Chengdu Challenger Segovia Challenger Jinan Challenger Como Challenger Seville Challenger Istanbul Challenger Sibiu Challenger Kaohsiung Challenger Campinas Challenger Cali Challenger Lima Challenger Montevideo Challenger M25 New Delhi Szczecin Challenger Santiago Challenger M25 Portimao Bangkok Challenger Dallas Challenger San Francisco Challenger Lille Challenger St. Brieuc Challenger Alicante Challenger Taipei City Challenger Barletta Challenger Nanchang Challenger Tunis Challenger Anning Challenger Francavilla Challenger Ostrava Challenger Braga Challenger Lisbon Challenger Vicenza Challenger Almaty Challenger Fergana Challenger Bastad Challenger Scheveningen Challenger Liberec Challenger Pullach Challenger Cordenons Challenger Istanbul Challenger Sibiu Challenger Almaty Challenger Tashkent Challenger Liuzhou Challenger Shenzhen Challenger Eckental Challenger Bratislava Challenger Orlando Challenger Columbus Challenger Koblenz Challenger M25 Toulouse-Balma Newport Beach Challenger M25 Lucknow Dallas Challenger Bergamo Challenger Bangkok Challenger Yokohama Challenger Zhuhai Challenger Newport Beach Challenger Alicante Challenger Taipei City Challenger Anning Challenger Nanchang Challenger Seoul Challenger M25 Jakarta Shymkent Challenger Heilbronn Challenger Gwangju Challenger Chennai Challenger Samarkand Challenger Vicenza Challenger Surbiton Challenger Guayaquil Challenger Almaty Challenger Nottingham Challenger Shymkent Challenger Recanati Challenger Rio De Janeiro Challenger Perugia Challenger Portoroz Challenger Nur-Sultan Challenger Chengdu Challenger Tashkent Challenger Ortisei Challenger Vancouver Challenger M25 Castelo Branco Marburg Challenger Geneva Challenger Kaohsiung Challenger Kazan Challenger M25 Sintra Helsinki Challenger Raanana Challenger Orleans Challenger Hungary F2 Tunisia F34 Tyumen Challenger Nur-Sultan Challenger M25 Takasaki Ningboo Challenger Brest Challenger Batman Challenger Shenzhen Challenger Eckental Challenger Canberra Challenger Bangkok Challenger Bangkok Challenger Newport Beach Challenger Dallas Challenger Bengalaru Challenger Mersin Challenger Drummondville Challenger Calgary Challenger Indian Wells Challenger Andria Challenger Prostejov Challenger Lisbon Challenger Istanbul Challenger Eckental Challenger Cherbourg Challenger Orleans Challenger Gran Canaria 1 Challenger Lugano Challenger Oeiras 1 Challenger Oeiras 2 Challenger Belgrade Challenger Oeiras 4 Challenger Nottingham 2 Challenger Jerusalem Challenger Milan Challenger Kobe Challenger Prague 2 Challenger Verona Challenger Seville Challenger Quito Challenger Lisbon Challenger Santiago 2 Challenger Manerbio Challenger Bogota Challenger Lima 2 Challenger St. Brieuc Challenger Bergamo Challenger Manama Challenger Maia 1 Challenger Maia 2 Challenger Forli 1 Challenger Bengalaru 1 Challenger Busan Challenger Gran Canaria Challenger Santiago Challenger Concepcion 2 Challenger Santa Cruz de la Sierra 2 Challenger M25 Santa Margherita di Pula Mexico City Challenger M25 Santa Margherita di Pula Tallahassee Challenger Morelos Challenger Prostejov Challenger Oeiras 3 Challenger Malaga Challenger Cali Challenger Porto Challenger Bogota Challenger Antalya 3 Challenger Marbella Challenger Nur-Sultan Challenger M15 Al Zahra Bengalaru 2 Challenger Nonthaburi 1 Challenger Nonthaburi 2 Challenger Bratislava Challenger Nonthaburi 3 Challenger Zagreb Challenger Istanbul Challenger Braga Challenger Lisbon Challenger Hamburg Challenger Maia Challenger Nonthaburi 1 Challenger Oeiras 1 Challenger Nonthaburi 2 Challenger Oeiras 2 Challenger Nonthaburi 3 Challenger Vilnius Challenger Rovereto Challenger Pau Challenger M15 Al Zahra Seoul Challenger M25 Hua Hin Gwangju Challenger Busan Challenger Skopje Challenger Blois Challenger Cherbourg Challenger Aptos Challenger Szczecin Challenger Guangzhou Challenger Shenzhen 2 Challenger Tashkent Challenger Kazan Challenger Hua Hin Challenger Astana Challenger Helsinki Challenger Zhangjiagang Challenger Brescia Challenger Chennai Challenger Santiago Challenger Kolkata Challenger Irving Challenger Shenzhen 1 Challenger St. Brieuc Challenger Tunis Challenger Winnetka Challenger St. Remy Challenger France F2 Tampere Challenger Tiburon Challenger Tashkent Challenger Quimper Challenger Nonthaburi 1 Challenger San Luis Potosi Challenger Nonthaburi 1 Challenger Segovia Challenger Nonthaburi 3 Challenger Troisdorf Challenger Cleveland Challenger Mexico City Challenger Cuernavaca Challenger M25 Quinta Do Lago Phoenix Challenger Guangzhou Challenger Zhangjiagang Challenger Fairfield Challenger Shymkent Challenger Prague II Challenger M25 Santa Margherita di Pula Cortina Challenger Bangkok Challenger Aguascalientes Challenger Segovia Challenger Brazzaville Challenger Mallorca Challenger Ningboo Challenger Troyes Challenger Indian Wells Challenger Kobe Challenger M25 Sapporo Nur-Sultan 2 Challenger Astana Challenger Kazan Challenger Sarajevo Challenger Zagreb Challenger Vicenza Challenger Guayaquil Challenger Astana Challenger Pereira Challenger Rome Challenger Bordeaux Challenger Taipei Challenger Orbetello Challenger Segovia Challenger Madrid Challenger ATP Kremlin Cup - Moscow Taipei 2 Challenger Meknes Challenger Casablanca Challenger Orleans Challenger St. Petersburg Open - St. Petersburg Loughborough Challenger Bergamo Challenger Guimaraes Challenger Karlsruhe Challenger Tyumen Challenger Lexington Challenger Santo Domingo Challenger Portoroz Challenger St. Petersburg Open - St. Petersburg ATP Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Interwetten Austrian Open - Kitzbuhel Kremlin Cup - Moscow Serbia Open - Belgrade BCR Open Romania - Bucharest Kremlin Cup - Moscow Aix En Provence Challenger Open Sabadell Atlantico - Barcelona Mercedes Cup - Stuttgart BCR Open Romania - Bucharest Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Aircel Chennai Open - Chennai Apia International - Sydney SAP Open - San Jose U.S. National Indoor Tennis Championships - Memphis Delray Beach International Tennis Championships - Delray Beach BRD Nastase Tiriac Trophy - Bucharest Portugal Open - Oeiras Topshelf Open - 's-Hertogenbosch BB&T Atlanta Open - Atlanta Ilkley Challenger Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Rennes Challenger PTT Thailand Open - Bangkok Kremlin Cup - Moscow Budapest Challenger Barcelona Open BancSabadell - Barcelona AEGON Championships - London Topshelf Open - 's-Hertogenbosch Claro Open Colombia - Bogota Citi Open - Washington Heilbronn Challenger Shenzhen Open - Shenzhen Kremlin Cup - Moscow Aircel Chennai Open - Chennai Geneva Challenger - Geneva Ecuador Open - Quito Dubai Duty Free Tennis Championships - Dubai BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Geneva Open - Geneva Cordenons Challenger Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Aircel Chennai Open - Chennai Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad China Open - Beijing Kremlin Cup - Moscow Buenos Aires Challenger Qatar ExxonMobil Open - Doha ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Hungarian Open - Budapest Millennium Estoril Open - Estoril Ricoh Open - 's-Hertogenbosch St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha Cherbourg Challenger Sydney International - Sydney Garanti Koza Sofia Open - Sofia New York Open - New York Delray Beach Open - Delray Beach Dubai Duty Free Tennis Championships - Dubai Ricoh Open - 's-Hertogenbosch Gerry Weber Open - Halle Plava Laguna Croatia Open - Umag St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Swiss Indoors Basel - Basel Tata Open Maharashtra - Pune Sydney International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Kremlin Cup - Moscow Turkish Airlines Open Antalya - Antalya St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Serbia Open - Belgrade Tata Open Maharashtra - Pune Dubai Duty Free Tennis Championships - Dubai St. Petersburg Open - St. Petersburg Astana Open - Nur-Sultan Sofia Open - Sofia Delray Beach Open - Delray Beach Chile Dove Men+Care Open - Santiago Dubai Duty Free Tennis Championships - Dubai St. Petersburg Open - St. Petersburg Sofia Open - Sofia Kremlin Cup - Moscow Anytech365 Andalucia Open - Marbella Astana Open - Nur-Sultan Tata Open Maharashtra - Pune Penza Challenger Gonet Geneva Open - Geneva Libema Open - 's-Hertogenbosch Belgrade Challenger Tampere Challenger Baotou Challenger Jinan Challenger Shanghai Challenger Monterrey Challenger Todi Challenger Liuzhou Challenger Nur-Sultan 1 Challenger IPP Open - Helsinki Meknes Challenger Orlando 2 Challenger Cleveland Challenger Milan Challenger Bet-at-home Open - Hamburg Maia Challenger Biella 2 Challenger Gran Canaria 2 Challenger Citi Open - Washington Marrakech Challenger Chengdu Open - Chengdu Santiago Challenger China Open - Beijing Marbella Challenger Oeiras 3 Challenger Little Rock Challenger Nottingham 1 Challenger Prostejov Challenger Porto Challenger Amersfoort Challenger Segovia Challenger Warsaw Challenger Istanbul 2 Challenger Serbia Open - Belgrade Open Parc - Lyon Santiago 3 Challenger Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Nottingham Challenger Bratislava Challenger Chengdu Open - Chengdu Eckental Challenger Manama Challenger Antalya Cup - Antalya Vicenza Challenger Astana Open - Astana St. Petersburg Open - St. Petersburg Ismaning Challenger Brest Challenger Cassis Challenger Salinas Challenger Savannah Challenger Calgary Challenger Marrakech Challenger Helsinki Challenger Asuncion Challenger Acapulco Challenger Izmir Challenger Shenzhen 1 Challenger Wuxi Challenger Porto Challenger Ilkley Challenger Mercedes Cup - Stuttgart St. Petersburg Open - St. Petersburg Heineken Open - Auckland Santo Domingo Challenger BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati China Open - Beijing BNP Paribas Open - Indian Wells Western & Southern Open - Cincinnati Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Miami Open - Miami Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells BMW Open - Munich Puerto Vallarta Challenger Winston-Salem Open - Winston-Salem Hall of Fame Open - Newport Citi Open - Washington Segovia Challenger U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Group I, 2R, GBR-RUS 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group I, 1R, RUS-DEN 4-1 Davis Cup, World Group, PO, RUS-KAZ 3-1 Davis Cup, Group I, 2R, RUS-AUT 1-3 Power Horse Cup - Dusseldorf Zhuhai Open - Zhuhai U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) French Open (juniors) Olympics - Rio de Janeiro Sony Open Tennis - Miami Miami Open - Miami BNP Paribas Open - Indian Wells Coupe Rogers - Montreal Shanghai Rolex Masters - Shanghai Australian Open - Melbourne Australian Open - Melbourne Wimbledon - London Davis Cup, Group I, 2R, RUS-ESP 3-2 M25 Sintra